In the 3GPP Internet protocol (IP) multimedia subsystem (IMS), a serving call session control function (S-CSCF) controls the invocation of telephony features by selectively invoking the features as part of the session initiation. To invoke a given feature, the S-CSCF constructs and sends a session initiation protocol (SIP) message to an external server that provides the feature. The application on the server then processes the message to provide the feature. For example, the application may act as a proxy and send the request back to the S-CSCF for future processing, act as a forking proxy initiating new call legs, act as a back-to-back user agent initiating a related but technically new call attempt, or send a final response that denies the call attempt. This involves a number of messages that may have to be sent. As the overall number of features implemented in a network grows, the number of SIP messages involved in initiating calls grows.
The S-CSCF will always invoke a number of features when the call is initiated. For example, for a certain subscriber or class of subscribers, a set number of features are invoked. However, the number of applications that may actually need to be used on the call may be less than the number of applications that are invoked. There is no way of knowing which applications will be needed as the session progresses; thus, all the applications that may possibly be needed are invoked initially at the beginning of the session. This may result in unused applications and unnecessary messaging that is performed to invoke the applications.